//package cn.nfwx.tv.dao;
//
//import android.content.Context;
//
//import com.j256.ormlite.dao.Dao;
//import com.j256.ormlite.stmt.PreparedQuery;
//import com.j256.ormlite.stmt.QueryBuilder;
//import com.j256.ormlite.stmt.Where;
//import com.j256.ormlite.support.DatabaseConnection;
//
//import java.sql.SQLException;
//import java.util.ArrayList;
//import java.util.List;
//
//import cn.nfwx.tv.helper.DBHelper;
//import cn.nfwx.tv.model.DownProgramModel;
//
//public class DownProgramDao {
//    private Dao<DownProgramModel, Integer> downProgramDao;
//    private DBHelper dbHelper;
//
//    /**
//     * 构造方法
//     * 获得数据库帮助类实例，通过传入Class对象得到相应的Dao
//     *
//     * @param context
//     */
//    public DownProgramDao(Context context) {
//        try {
//            dbHelper = DBHelper.getHelper(context);
//            downProgramDao = dbHelper.getDao(DownProgramModel.class);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * 添加一条记录
//     *
//     * @param downProgramModel
//     */
//    public void add(DownProgramModel downProgramModel) {
//        try {
//            downProgramDao.create(downProgramModel);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * 删除一条记录
//     *
//     * @param downProgramModel
//     */
//    public void delete(DownProgramModel downProgramModel) {
//        try {
//            downProgramDao.delete(downProgramModel);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//    }
//
//
//    /**
//     * 更新一条记录
//     *
//     * @param downProgramModel
//     */
//    public void update(DownProgramModel downProgramModel) {
//        try {
//            downProgramDao.update(downProgramModel);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * 查询一条记录
//     *
//     * @param id
//     * @return
//     */
//    public DownProgramModel queryForId(int id) {
//        DownProgramModel downProgramModel = null;
//        try {
//            downProgramModel = downProgramDao.queryForId(id);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return downProgramModel;
//    }
//
//
//    /**
//     * 查询所有记录
//     *
//     * @return
//     */
//    public List<DownProgramModel> queryForAll() {
//        List<DownProgramModel> programModelList = null;
//        try {
//            programModelList = downProgramDao.queryForAll();
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return programModelList;
//    }
//
//    /**
//     * 根据downurl查询对应的url
//     *
//     * @return
//     */
//    public List<DownProgramModel> query(String downloadUrl) {
//        List<DownProgramModel> list = new ArrayList<>();
//        try {
//            QueryBuilder queryBuilder = downProgramDao.queryBuilder();
//            Where wheres = queryBuilder.where();
//
//            wheres.eq("downloadUrl", downloadUrl);
//            PreparedQuery<DownProgramModel> preparedQuery = queryBuilder.prepare();
//
//            DatabaseConnection databaseConnection = null;
//            try {
//
//                databaseConnection = downProgramDao.startThreadConnection();
//                downProgramDao.setAutoCommit(databaseConnection, false);
//                list = downProgramDao.query(preparedQuery);
//                downProgramDao.commit(databaseConnection);
//                return list;
//            } catch (Exception e) {
//                downProgramDao.rollBack(databaseConnection);
//                e.printStackTrace();
//            } finally {
//                downProgramDao.endThreadConnection(databaseConnection);
//            }
//        } catch (Exception e) {
//
//        }
//        return list;
//    }
//
//    /**
//     * 根据downurl查询对应的url
//     *
//     * @return
//     */
//    public boolean delete(String downloadUrl) {
//        List<DownProgramModel> downProgramModels = query(downloadUrl);
//        if (!downProgramModels.isEmpty()) {
//            DownProgramModel downProgramModel = downProgramModels.get(0);
//            try {
//                int result = downProgramDao.delete(downProgramModel);
//                if (result == 1) {
//                    return true;
//                } else {
//                    return false;
//                }
//            } catch (SQLException e) {
//                e.printStackTrace();
//            }
//        }
//        return false;
//    }
//}
